// 知识点1：从函数实参到模版实参的过程被称为模版实参推断，在这个过程中，可能会发生类型转换

// 知识点2：只有很有限的几种方式会发生类型转换

// 1：非const对象的引用或者指针到const对象的引用或者指针（const到非const是不合法的）（顶层const会被忽略）

// 2：若函数参数不是引用的类型，则可以进行函数或者数组的指针类型转换，我们可以用函数实参或者数组实参转化为对应指针

// 知识点3：算术类型转换不能支持模版函数的类型转换，若我们想要两个不同类型的参数，定义两个不同的模版参数即可

// 答案：在模版推断的过程中，编译器根据函数调用的实参类型来寻找模版实参，用这些模版实参生成的函数版本与给定的函数调用匹配
